A commutative replicated data type for cooperative editing